#include<iostream>
using namespace std;

#include"list_diy.h"
//#include"answer.h"
//void list_test1()
//{
//	list<int> q1;
//	q1.push_back(1);
//	q1.push_back(2);
//	q1.push_back(3);
//	q1.push_back(4);
//	q1.push_back(5);
//	while (!q1.empty())
//	{
//		cout << q1.front() << " ";
//		q1.pop_front();
//	}
//	cout << endl;
//}
//
//void list_test2()
//{
//	struct A
//	{
//		int a;
//		int b;
//		A(int _a = 0,int _b = 0)
//			:a(_a)
//			,b(_b)
//		{
//
//		}
//	};
//	list<int> q1(3,100);
//	list<int> q2(q1); // list<int> q2(q1.begin(),a1.end())
//	while (!q1.empty())
//	{
//		cout << q1.front() << " ";
//		q1.pop_front();
//	}
//	cout << endl;
//	while (!q2.empty())
//	{
//		cout << q2.front() << " ";
//		q2.pop_front();
//	}
//	cout << endl;
//	/*for (auto ch : q2)
//	{
//		cout << ch << " ";
//	}
//	cout << endl;*/
//	list<int> q4(3, 88);
//	auto q3 = q4;
//	for (auto ch : q3)
//	{
//		cout << ch << " ";
//	}
//	cout << endl;
//}


void list_diy_test1()
{
	bite::list<int> lt1;
	lt1.push_back(1);
	lt1.push_back(2);
	lt1.push_back(3);
	lt1.push_back(4);
	bite::list<int>::iterator it = lt1.begin();
	while (it != lt1.end())
	{
		cout << *it << " ";
		++it;
	}
	cout << endl;
	bite::list<int> lt2(3);
	for (auto ch : lt2)
	{
		cout << ch << " ";
	}
	cout << endl;
	auto lt3 = lt2;
	for (auto ch : lt3)
	{
		cout << ch << " ";
	}
	cout << endl;
	lt3.push_back(1);
	lt3.push_back(2);
	lt3.push_back(3);
	auto it1 = lt3.begin();
	lt3.erase(it1);

	
	for (auto ch : lt3)
	{
		cout << ch << " ";
	}
	cout << endl;



}

//void list_diy_test2()
//{
//	bit::list<int> lt;
//	lt.push_back(1);
//	lt.push_back(2);
//	lt.push_back(3);
//	lt.push_back(4);
//	lt.push_back(5);
//	lt.push_back(6);
//	for (auto ch : lt)
//	{
//		cout << ch << " ";
//	}
//	cout << endl;
//}
int main()
{
	//list_test1();
	//list_test2();
	list_diy_test1();
	//list_diy_test2();
	return 0;
}
